package ucla.axelia.controlador.servicios;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.criterion.Order;

import com.obelisco.modelo.data.DataGenerica;

import ucla.axelia.controlador.interfaces.IServicioAdministracionReporteActividadesPorPrograma;
import ucla.axelia.modelo.dao.ServicioActividadDAO;
import ucla.axelia.modelo.dao.ServicioProgramaDAO;
import ucla.axelia.modelo.data.Actividad;
import ucla.axelia.modelo.data.Programa;

public class ServicioAdministracionReporteActividadesPorPrograma implements
		IServicioAdministracionReporteActividadesPorPrograma{

	private ServicioProgramaDAO servicioProgramaDAO;
	private ServicioActividadDAO servicioActividadDAO;
	
	@Override
	public List<Programa> buscarProgramas() {
		return servicioProgramaDAO.buscarTodos(DataGenerica.DATA_ACTIVO);
	}

	@Override
	public List<Actividad> obtenerActividadesPorPrograma(Programa programa) {
		List<Order> orden = new ArrayList<Order>();
		orden.add(Order.asc("nombreActividad"));
		return servicioActividadDAO.buscarPorPropiedad("programa", programa, DataGenerica.DATA_ACTIVO, orden);
	}

	
	// Getters y Setters
	
	public ServicioProgramaDAO getServicioProgramaDAO() {
		return servicioProgramaDAO;
	}

	public void setServicioProgramaDAO(ServicioProgramaDAO servicioProgramaDAO) {
		this.servicioProgramaDAO = servicioProgramaDAO;
	}

	public ServicioActividadDAO getServicioActividadDAO() {
		return servicioActividadDAO;
	}

	public void setServicioActividadDAO(ServicioActividadDAO servicioActividadDAO) {
		this.servicioActividadDAO = servicioActividadDAO;
	}

}
